A conventional data transmission manner of a communications network is storing and forwarding, that is, a node other than a source apparatus and a sink apparatus of data is only responsible for routing and does not perform any processing on content of the data, and a relay node plays a role of a forwarder. The source apparatus can be configured to perform sending and/or coding of data, and the sink apparatus can be configured to perform receiving and/or decoding of data.
Network coding is an information exchange technology combining routing and coding, and has a core idea of performing linear or non-linear processing, in each node on the network, on information received from each channel, and then forwarding the information to a downstream node, where the relay node plays a role of a coder or a signal processor.
In the prior art, in a multi-source multi-relay (MSMR, Multi-Source Multi-Relay) system, when a fading channel exists, each relay node calculates an integer vector to serve as a network coding vector, and then forwarded source node information is combined linearly according to the integer, without a need of decoding information of each source. The final sink apparatus receives various network-coded signals forwarded by all relay nodes, and information of all source nodes can be obtained through solving a system of equations.
In the network coding method, when each relay node calculates the integer network coding vector, the network coding vector requires a transmission bit rate of the node to be maximized. However, when each relay node is optimized separately to obtain the network coding vector, the correctness of decoding is low or decoding cannot be performed correctly.